home *** CD-ROM | disk | FTP | other *** search
- Path: news.mira.net.au!news
- From: bytey@werple.net.au (Chris Hames)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: 68040's Move16
- Date: 8 Mar 1996 12:47:00 +1100
- Organization: Werple Internet, Melbourne
- Message-ID: <4ho3ik$joj@werple.net.au>
- References: <4hks80$4l6@tempo.univ-lyon1.fr>
- NNTP-Posting-Host: werplez.mira.net.au
-
- dscreve@ifhamy (David Screve) writes:
-
- > Does anybody how to use the MOVE16 instruction. This instruction
- >works on 68040 and higher, but seem to have specifics addressing modes.
-
- move16 (Ax)+,(Ay)+
- move16 (xxx).L,(An) and other way around
- move16 (xxx).L,(An)+ and other way around
-
- The reason people say don't use (besides being 040 instruction) is that
- 040's might have microcode bugs with this instruction. To quote Michael
- Sinz:-
-
- "
- What to do: Read about MOVE16. Then read about the problems with MOVE16.
- MOVE16 is a data copying instruction that was added to the 68040 that will
- copy data without having the cache get in the way. However, there are some
- limitations:
-
- 1) The data must be 16-byte aligned. (A cache line in size)
- 2) The MOVE16 loop must have a NOP at the start and one at the end.
- That is:
- nop
- $1 move16
- dbra $1
- nop
- 3) The MOVE16 loop *MUST NOT* cause a bus fault or Enforcer hit in the
- Amiga system. This is partially due to some early 68040 CPUs and
- partially because bus faults (Enforcer hits) are bad anyway.
- However, in this case they are *even* *worse* as the CPU state will
- get confused in the OS.
-
- MOVE16 can make a major difference in performance if the data is in a
- cached memory area since it does not cause the cache to "get in the way"
- It will also use BURST access if the system hardware does burst.
- "
-
- --
- Chris Hames bytey@werple.mira.net.au (OR bytey@melbourne.dialix.oz.au)
- "How do I start another MS Windows process on this machine ?" 'huh ?'
- "Don't real IBM-PC's have the PC-Task icon to double click ?"
-